package com.cskaoyan.javase.oop2._1extends._8hidden;

/**
 * 注意事项:
 *      1.父子类中的同名成员变量它们各自有存储的区域，父类的同名成员变量被子类同名成员变量隐藏了，称之为"属性的隐藏"。
 *      但我们仍然可以通过父类中的Getter方法，或者通过super去访问到父类中同名成员变量，当然它们都受访问权限限制。
 *
 *      2.静态成员变量属于类:
 *          如果父子类有同名静态成员变量,那么这两个同名静态成员变量没有任何关系,分别属于两个类
 *              只不过恰好同名罢了
 *          如果父类中有静态成员变量,子类中没有,那么父子类会共用父类的静态成员变量
 *
 *          总之,静态成员变量不考虑继承,也不是继承
 *
 *
 * @since 09:43
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        Cat cat = new Cat();
        System.out.println(cat.getNum());
        cat.test();

        System.out.println("-----------------------");

        System.out.println(Animal.name);
        Animal.name = "张三";
        System.out.println(Cat.name);
        System.out.println(Animal.name);

    }
}

class Animal {
    int num = 10;
    static String name = "阿光";

    public int getNum() {
        return num;
    }
}

class Cat extends Animal {
    int num = 100;
    static String name = "阿斗";

    public void test() {
        System.out.println(super.num);
    }
}